using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace ConfigurationSettings
{
	public interface IApplicationSettings
	{
		Version AssemblyVersion { get; }
		Point MainWindowLocation { get; set; }
		Size MainWindowSize { get; set; }
		int MainSplitterDistance { get; set; }
		Point PreferenceWindowLocation { get; set; }
		Size PreferenceWindowSize { get; set; }
		int PreferencesSplitterDistance { get; set; }
		SizeUnitType SizeUnit { get; set; }
		int SizePrecision { get; set; }
		Color FocusColor { get; set; }
		Color ListViewBackColor { get; set; }
		ItemSettings FileSettings { get; set; }
		ItemSettings DirectorySettings { get; set; }
		ColumnExtendedProperties ColumnSettings { get; set; }
		bool AskBeforeDelete { get; set; }
		bool LeftAutoSort { get; }
		bool RightAutoSort { get; }
		string LeftDefaultFolder { get; set; }
		FolderType LeftDefaultFolderType { get; set; }
		string RightDefaultFolder { get; set; }
		FolderType RightDefaultFolderType { get; set; }
		Column LeftDefaultSortColumn { get; set; }
		Column RightDefaultSortColumn { get; set; }
		Dictionary<string, string> FavoriteList { get; }
		Dictionary<string, string> ProgramList { get; }
		Dictionary<KeyEnum, Keys> KeyList { get; }
		void Save();
	}
}